System and method for automatically populating appointment fields

ABSTRACT

A system and method for automatically populating appointment fields of an appointment template. A messaging client provides a message having message data associated with one or more fields. A field populator automatically transfers the message data associated with the one or more fields to an appropriate field of an appointment response. Time and place data is automatically transferred from a scheduler to an appropriate field of an appointment response.

BACKGROUND OF THE INVENTION

Cellular telephones, personal computers, stationary computers, mobilecomputers, and other computing devices are fast becoming mainstreammodes for personal enjoyment, communication, and data manipulation.Typically, messaging in association with these devices requires data ortext entry. As these modes of communication and messaging become moreprevalent, so does the need for efficiency and usability of theseservices. Currently, messaging clients and appointment clients require auser to manually enter text in order to generate a message orappointment. Such text entry is inefficient and highly burdensome on theuser, especially in situations where a keyboard is unavailable.

SUMMARY OF THE INVENTION

Aspects of the invention include a system and method for automaticallypopulating appointment fields of an appointment template. Succinctlystated, aspects of the present invention include converting messagefield data into appointment field data so a user does not need tomanually enter this information. For example, sender and recipient dataassociated with a message may automatically populate an “Attendees”field of an appointment template. Likewise, data associated with a“Subject” field, “Attach” field, and “Body” field of a message mayautomatically populate a “Subject” field, “Attach” field, and “Body”field of an appointment template. Population of an appointment templatemay be automatic or the user may set defaults for each of the fields.

In other aspects, appointment fields may be populated by databases apartfrom the message field data. Data associated with a scheduler mayautomatically populate fields of an appointment template. Time and placefields of an appointment template may be populated with non-conflictingtime and place data in light of the scheduler. In this manner, a user ofa mobile device (along with other computing device types) has anefficient manner of sending an appointment request in response to amessage without the labor of manually inputting field data into anappointment template.

These and other aspects of the present invention will be evident inlight of the disclosure set forth herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary computing device that may be used in oneaspect of the present invention.

FIG. 2 illustrates an exemplary mobile device that may be used in oneaspect of the present invention.

FIG. 3 represents one exemplary modular system that may be used in oneembodiment of the present invention.

FIG. 4 represents an exemplary overview of one embodiment forautomatically populating appointment fields.

FIG. 5 represents an exemplary logical flow diagram of one embodimentfor automatically populating appointment fields.

DETAILED DESCRIPTION

Embodiments of the present invention now will be described more fullyhereinafter with reference to the accompanying drawings, which form apart hereof, and which show, by way of illustration, specific exemplaryembodiments for practicing the invention. This invention may, however,be embodied in many different forms and should not be construed aslimited to the embodiments set forth herein; rather, these embodimentsare provided so that this disclosure is enabling through embodimentsthat will convey the full scope of the invention to those of skill inthe art. Among other things, the present invention may be embodied asmethods or devices. Accordingly, the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment oran embodiment combining software and hardware aspects. The followingdetailed description is, therefore, not to be taken in a limiting sense.

Illustrative Embodiments of a System and Method for AutomaticallyPopulating Appointment Fields

Succinctly stated, aspects of the present invention include a system andmethod for automatically populating appointment fields of an appointmenttemplate. One embodiment includes converting message field data intoappointment field data. Aspects may include automatic population ofappointment fields based on populated fields of a provided message.Other aspects include allowing a user to activate a default setting todetermine the manner of field population of the appointment template. Inother aspects, appointment fields may be populated by databases apartfrom the message field data. As one generalized example, a user mayreceive a message and view the message on a mobile device. The user mayactuate a field populator to transfer the information in the messagefields to appropriate fields of an appointment template. In this manner,a user of a mobile device (along with other computing device types) hasan efficient manner of sending an appointment request in response to amessage without the labor of manually inputting field data into anappointment template.

Aspects of the invention include any type of communication having fieldsconducive to populating an appointment field. For example, the messagefield data may include text-messaging data, instant messaging data,Short Messaging Service (“SMS”) data or data generated from a voicemailmessage. Moreover, as more fully described below, aspects of theinvention also include reverse operation. Stated another way,appointment field data may be used to populate message fields of amessage template.

FIG. 3 represents one exemplary system 300 for automatically populatingappointment fields of an appointment template. System 300 represents amodular overview of the present invention. System 300 may be integratedas a combination of software and hardware elements, an operating systemor any combination thereof. Hardware, databases, software orapplications referenced herein may be integrated as a single element orinclude various elements in communication with one another. Softwareand/or hardware elements are depicted herein for explanatory purposesonly and not for limiting the configuration to multiple elements or asingle element performing several functions. For example, in FIG. 3,computing device 302 may include messaging client 304, scheduler 306,field populator 308 and appointment client 310. Reference numbers304-310 may include separate programs, separate databases and separatehardware. Reference numbers 304-310 may also include a single program orany combination of single and multiple programs. Also, system 300 may beincluded as one or more elements of an operating system.

Computing device 302 may include computing device 100 as exemplified inFIG. 1 or computing device 302 may include mobile computing device 200as exemplified in FIG. 2. Computing device 302 may include a telephone,cellular telephone, satellite telephone, stationary computing device,mobile computing device, televising device, mobile audio device, watchdevice, or any other device that may implement messaging services.Computing device 302 may communicate with a network 312 so that thecomputing device may send and receive information via network 312. Aswill be more fully set forth below, FIG. 3 represents but one exemplarymethod of communication between network 312 and elements 304-310.

Messaging client 304 may include any type of messaging client configuredto receive incoming messages from network 312 and transmit outgoingmessages to network 312. For example, messaging client 304 may include atext-messaging client, an instant messaging client or a voicemailmessaging client. In one embodiment, messaging client 304 may berepresented by aspects of MICROSOFT OUTLOOK and/or MICROSOFT OUTLOOKEXPRESS from MICROSOFT CORPORATION, headquartered in Redmond, Wash.

Scheduler 306 may include a calendar, meeting and/or appointment typescheduler. For example, scheduler 306 may include one or more meetingtimes, appointment times, important dates, anniversaries, contacts,meeting places, room numbers, etc. In one aspect, scheduler 306 includesa plurality of scheduler databases of users connected to network 312. Inthis manner, scheduler 306 may have access to prior, current and futureschedules of a plurality of contacts. In one embodiment, scheduler 306may be represented by aspects of MICROSOFT OUTLOOK and/or MICROSOFTOUTLOOK EXPRESS from MICROSOFT CORPORATION, headquartered in Redmond,Wash.

As indicated in FIG. 3, in some situations when a user receives anincoming message, the user may want to respond to the incoming messagewith an appointment request. In such a situation, as will be furtherdescribed in conjunction with FIG. 4, field populator 308 may associatedata from messaging client 304, scheduler 306 and appointment client310. As a succinct example of field populator 308, field populator 308may link message field data associated with an incoming message toappointment fields of a responsive appointment request. As anotherexample, field populator 308 may cut message field data associated withan incoming message and paste the message field data in an appropriatefield of a responsive appointment request. Field populator 308 may alsoassociate default time and place data with a responsive appointmentrequest via scheduler 306.

Appointment client 310 may include any type of appointment clientconfigured to receive field data and transmit a responsive appointmentrequest to network 312. In another embodiment, appointment client 310 isconfigured to receive field data and transmit appointment information toa scheduler or a calendar application. In yet another embodiment,appointment client 310 may be represented by aspects of MICROSOFTOUTLOOK and/or MICROSOFT OUTLOOK EXPRESS from MICROSOFT CORPORATION,headquartered in Redmond, Wash.

The exchange of data represented in FIG. 3 may also be reversed. Statedanother way, computing device 302 may receive an incoming appointmentrequest. In some situations, when a user receives an incomingappointment request, the user may want to respond to the incomingappointment request with a message. In such a situation, field populator308 may associate or link data from the appointment request fields toappropriate message fields in order to automatically populate a messagetemplate.

FIG. 4 represents an exemplary overview of one embodiment forautomatically populating appointment fields with field data of amessage. System 400 includes person A and person B communicating by sentmessage 402, received message 404 and appointment 406. Person A maygenerate sent message 402 by populating the “To” field 408, “From” field410, “Subject” field 412, “Attach” field 414 and “Body” field 416. Otherfields may include a “carbon copy” field, a “blind carbon copy” field orany other field that may facilitate communication via a message.

After generating sent message 402, person A “sends” sent message 402 toperson B. Person B “receives” received message 404. Received message 404includes similar fields 408-416 as sent message 402. Person B mayrespond to received message 404 via an appointment 406. In such asituation, person B may actuate a field populator to transfer the fielddata of received message 404 to the fields of appointment 406. Person Bmay actuate the field populator by a hard button, icon, drop down menu,keystroke, or any other type of mechanical, electrical or software basedactuator. Upon actuation, the field data of received message 404 is usedto populate the fields of appointment 406. In another aspect, automaticfield population does not require manual actuation.

FIG. 4 represents but one example of field population. For example,“Person A” and “Person B” associated with the received message maypopulate the “Attendees” field of appointment 406. Likewise, dataassociated with the “Subject” field, “Attach” field, and “Body” field ofreceived message 404 may populate the “Subject” field, “Attach” field,and “Body” field of appointment 406. Population of appointment 406 maybe automatic or the user may set defaults for each of the fields. Forexample, the user may set a default that does not transfer attachmentsfrom received message 404 to appointment 406. As another example, theuser may set a default that associates the subject field of receivedmessage 404 with the body field of appointment 406.

Data associated with scheduler 418 may also automatically populatefields of appointment 406. Scheduler 418 may include data associatedwith Person A and Person B. Such data may include schedulinginformation, prior meeting places, prior meeting rooms, prior meetingtimes, unavailability times, future appointments, etc. Time and placefields of appointment 406 may be populated with a non-conflicting timeand place in light of scheduler 418. In another aspect, person B maymanually populate time and place fields of appointment 406.

The exchange of data in FIG. 4 may also be reversed. Stated another way,person A may generate an appointment and send the appointment to personB. Person B may respond to the received appointment by a message. When afield populator is actuated, field data of the appointment may populateappropriate fields of a message.

FIG. 5 represents a logical flow diagram of one embodiment ofautomatically populating appointment fields of an appointment template.Process 500 starts at starting block 502 and flows to block 504 where amessage having populated fields is provided. Such a message may includean e-mail message, a text message, an instant message, an SMS message, amessage generated from voicemail or any other message associated withpopulated fields. The message may be provided via a network or themessage may be internal to a computing device.

At decision block 506, process 500 determines whether to respond to themessage with an appointment request. When a response by an appointmentrequest is not implemented, process 500 flows to decision block 508,where process 500 determines whether another type of response isrequired. Process 500 flows to end block 526 when a response is notrequired. When a response is required, process 500 flows to block 510,where an appropriate response is facilitated. The response may include acorrelative e-mail response, a text message response, an instant messageresponse, a SMS message response, a response generated from voicemail orany other type of appropriate response depending on the providedmessage. Once the response is facilitated, process 500 flows to endblock 526.

When, at decision block 506, a response with an appointment request isimplemented, process 500 flows to block 512. At block 512 a fieldpopulator may be actuated. Actuation may include a hard button, icon,drop down menu, keystroke, or any other type of mechanical, electricalor software-based actuator used to actuate a function. In anotheraspect, actuation of the field populator function is automatic. Process500 then flows to block 514.

At block 514, process 500 populates appointment request fields withappropriate data from the message fields. For example, “To” and “From”data associated with the message may populate the “Attendees” field ofan appointment request. Likewise, data associated with the “Subject”field, “Attach” field, and “Body” field of the message may populate the“Subject” field, “Attach” field, and “Body” field of the appointmentrequest. Other fields that may be populated include a carbon copy field,a blind carbon copy field or any other field that may facilitatecommunication via a message. In one aspect, block 514 includes linkingmessage field data associated with an incoming message to appointmentfields associated with a responsive appointment request. In anotheraspect, block 514 includes automatically cutting message field dataassociated with an incoming message and automatically pasting themessage field data in an appropriate field of a responsive appointmentrequest.

At decision block 516, process 500 determines whether a default time andplace are available. If a default time and place are not available,process 500 continues to block 520 as more fully set forth below. Adefault time and place may be indicated by a user selection of a defaulttime and place. In another aspect, a default time and place aredetermined in light of scheduler data. Time and place fields may bepopulated with a non-conflicting time and place of the parties to theappointment. In such a situation, process 500 flows to block 518 wheretime and place fields of the appointment are populated.

At decision block 520, process 500 determines whether a manual input isrequired. A manual input may be required where a field is not populatedby default or via message field data. When a manual input is required,the input may be entered into the field as indicated by block 522. Theprocess then flows to block 524 where the message is sent and process500 ends at end block 526. When manual input is not required, process500 continues to blocks 524 and 526 as previously stated.

Illustrative Operating Environment

Referring to FIG. 1, an exemplary system for implementing the inventionincludes a computing device, such as computing device 100. In a basicconfiguration, computing device 100 typically includes at least oneprocessing unit 102 and system memory 104. Depending on the exactconfiguration and type of computing device, system memory 104 may bevolatile (such as RAM), non-volatile (such as ROM, flash memory, and thelike) or some combination of the two. System memory 104 typicallyincludes operating system 105, one or more applications 106, and mayinclude program data 107. In one embodiment, applications 106 furtherinclude application 120 for appointment field population. This basicconfiguration is illustrated in FIG. 1 by those components within dashedline 108.

Computing device 100 may also have additional features or functionality.For example, computing device 100 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 1 by removable storage 109 and non-removable storage110. Computer storage media may include volatile and non-volatile,removable and non-removable media implemented in any method ortechnology for storage of information, such as computer readableinstructions, data structures, program modules or other data. Systemmemory 104, removable storage 109 and non-removable storage 110 are allexamples of computer storage media. Computer storage media includes, butis not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by computingdevice 100. Any such computer storage media may be part of device 100.Computing device 100 may also have input device(s) 112 such as akeyboard, mouse, pen, voice input device, touch input device, etc.Output device(s) 114 such as a display, speakers, printer, etc. may alsobe included. All these devices are known in the art and need not bediscussed at length here.

Computing device 100 also contains communication connection(s) 116 thatallow the device to communicate with other computing devices 118, suchas over a network or a wireless mesh network. Communicationconnection(s) 116 is an example of communication media. Communicationmedia typically embodies computer readable instructions, datastructures, program modules or other data in a modulated data signalsuch as a carrier wave or other transport mechanism and includes anyinformation delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. The term computerreadable media as used herein includes both storage media andcommunication media.

FIG. 2 illustrates a mobile computing device that may be used in oneexemplary embodiment of the present invention. With reference to FIG. 2,one exemplary system for implementing the invention includes a mobilecomputing device, such as mobile computing device 200. The mobilecomputing device 200 has processor 260, memory 262, display 228, andkeypad 232. Memory 262 generally includes both volatile memory (e.g.,RAM) and non-volatile memory (e.g., ROM, Flash Memory, or the like).Mobile computing device 200 includes operating system 264, which isresident in memory 262 and executes on processor 260. Keypad 232 may bea push button numeric dialing pad (such as on a typical telephone), or amulti-key keyboard (such as a conventional keyboard). Display 228 may bea liquid crystal display, or any other type of display commonly used inmobile computing devices. Display 228 may be touch-sensitive, and wouldthen also act as an input device.

One or more application programs 266 are loaded into memory 262 and runon operating system 264. Examples of application programs include phonedialer programs, e-mail programs, scheduling programs, PIM (personalinformation management) programs, word processing programs, spreadsheetprograms, Internet browser programs, and so forth. Mobile computingdevice 200 also includes non-volatile storage 268 within memory 262.Non-volatile storage 268 may be used to store persistent informationwhich should not be lost if mobile computing device 200 is powered down.Applications 266 may use and store information in storage 268, such ase-mail or other messages used by an e-mail application, contactinformation used by a PIM, appointment information used by a schedulingprogram, documents used by a word processing application, and the like.In one embodiment, applications 266 further include application 280 forappointment field population.

Mobile computing device 200 has power supply 270, which may beimplemented as one or more batteries. Power supply 270 might furtherinclude an external power source, such as an AC adapter or a powereddocking cradle that supplements or recharges the batteries.

Mobile computing device 200 is shown with two types of externalnotification mechanisms: LED 240 and audio interface 274. These devicesmay be directly coupled to power supply 270 so that when activated, theyremain on for a duration dictated by the notification mechanism eventhough processor 260 and other components might shut down to conservebattery power. LED 240 may be programmed to remain on indefinitely untilthe user takes action to indicate the powered-on status of the device.Audio interface 274 is used to provide audible signals to and receiveaudible signals from the user. For example, audio interface 274 may becoupled to a speaker for providing audible output and to a microphonefor receiving audible input, such as to facilitate a telephoneconversation.

Mobile computing device 200 also includes radio interface layer 272 thatperforms the function of transmitting and receiving communications, suchas radio frequency communications. Radio interface layer 272 facilitateswireless connectivity between mobile computing device 200 and theoutside world, via a communications carrier or service provider.Transmissions to and from radio interface layer 272 are conducted undercontrol of operating system 264. In other words, communications receivedby radio interface layer 272 may be disseminated to application programs266 via operating system 264, and vice versa.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

1. A computer-implemented method for automatically populatingappointment fields, comprising: providing a message having message dataassociated with at least one message field; and transferring the messagedata to at least one appointment field.
 2. The computer-implementedmethod of claim 1, wherein the message is associated with at least oneof: a text message, an instant message, an SMS message, an e-mailmessage, and a voicemail message.
 3. The computer-implemented method ofclaim 1, wherein the at least one message field includes at least oneof: a “to” field, a “from” field, a “subject” field, an “attachment”field, a “body” field, a “carbon copy” field, and a “blind carbon copy”field.
 4. The computer-implemented method of claim 1, wherein the atleast one appointment field includes at least one of: an “attendees”field, a “subject” field, a “time” field, a “place” field, an“attachment” field, and a “body” field.
 5. The computer-implementedmethod of claim 1, wherein the message data includes data associatedwith a “to” field and a “from” field and the at least one appointmentfield includes an “attendees” field.
 6. The computer-implemented methodof claim 5, wherein transferring the message data further includesautomatically transferring the message data associated with the “to”field and the “from” field to the “attendees” field.
 7. Thecomputer-implemented method of claim 1, wherein the at least oneappointment field includes a “time” field and a “place” field.
 8. Thecomputer-implemented method of claim 7, wherein the “time” field and the“place” field are manually populated.
 9. The computer-implemented methodof claim 7, further comprising accessing a scheduler having time andplace data and populating the “time” field and “place” field with thetime and place data.
 10. The computer-implemented method of claim 9,wherein the scheduler includes attendee data, and wherein the attendeedata includes at least one of: calendar data, meeting data, room data,date data, time data, historical data, current data, and futureappointment data.
 11. A computer-readable medium having computerexecutable instructions for automatically populating appointment fieldsof an appointment response, the instructions comprising: providing apopulated message template having sender and recipient data;substantiating an appointment response to the populated messagetemplate; and automatically populating an attendees field of theappointment response with the sender and recipient data.
 12. Thecomputer-readable medium of claim 11, wherein providing a populatedmessage template further includes providing a populated message templatehaving subject data, attachment data, and body data.
 13. Thecomputer-readable medium of claim 12, further comprising automaticallypopulating a “subject” field of the appointment response with thesubject data, automatically populating an “attachment” field of theappointment response with the attachment data, and automaticallypopulating a “body” field of the appointment response with the bodydata.
 14. The computer-readable medium of claim 11, further comprisingproviding a scheduler having time and place data.
 15. Thecomputer-readable medium of claim 14, further comprising automaticallypopulating a “time” field of the appointment response with the timedata, and automatically populating a “place” field of the appointmentresponse with the place data.
 16. The computer-readable medium of claim15, wherein the time and place data is associated with the sender dataand the recipient data.
 17. An apparatus for automatically populatingappointment fields of an appointment response, comprising: a messagingclient means for providing a message having at least one message field;an appointment client means for providing an appointment request havingat least one appointment field; and a field populator means forautomatically transferring data between the at least one message fieldand the at least one appointment field.
 18. The apparatus of claim 17,further comprising a scheduler means for providing time and place data.19. The apparatus of claim 18, wherein the field populator means furtherincludes a means for automatically transferring time and place databetween the scheduler and the at least one appointment field.
 20. Theapparatus of claim 19, wherein the time and place data is associatedwith a schedule of at least one attendee of the appointment response.